package com.zone.service.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zone.common.core.annotation.Excel;
import com.zone.common.core.web.domain.BaseEntity;

/**
 * 枪支许可证信息对象 zone_gun_licence
 * 
 * @author ningbo
 * @date 2025-11-19
 */
public class GunLicence extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 员工id */
    private Long employeeId;

    /** 枪证号码 */
    @Excel(name = "枪证号码")
    private String gunLicenceNum;

    /** 持枪证有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "持枪证有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gunLicenceValidity;

    /** 证件图片url */
    private String photoUrl;

    /** 创建人 */
    private String createUser;

    /** 修改人 */
    private String updateUser;

    private Date updateTime;

    /** 证件管理状态 */
    @Excel(name = "证件管理状态")
    private String licenceStatus;

    @Excel(name = "工号")
    private String empNo;

    @Excel(name = "姓名")
    private String empName;

    @Excel(name = "身份证号")
    private String idno;

    // 员工在职状态（0 离职，1 在职）
    private Integer employmentStatus;

    // /** 部门 */
    private Long departmentId;

    /** $column.columnComment */
    private Integer deleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }

    public void setGunLicenceNum(String gunLicenceNum) 
    {
        this.gunLicenceNum = gunLicenceNum;
    }

    public String getGunLicenceNum() 
    {
        return gunLicenceNum;
    }

    public void setGunLicenceValidity(Date gunLicenceValidity) 
    {
        this.gunLicenceValidity = gunLicenceValidity;
    }

    public Date getGunLicenceValidity() 
    {
        return gunLicenceValidity;
    }

    public void setPhotoUrl(String photoUrl) 
    {
        this.photoUrl = photoUrl;
    }

    public String getPhotoUrl() 
    {
        return photoUrl;
    }

    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }

    public void setUpdateUser(String updateUser) 
    {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() 
    {
        return updateUser;
    }

    public void setLicenceStatus(String licenceStatus) 
    {
        this.licenceStatus = licenceStatus;
    }

    public String getLicenceStatus() 
    {
        return licenceStatus;
    }

    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }

    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }

    public String getEmpName() { return empName; }
    public void setEmpName(String empName) { this.empName = empName; }

    public String getEmpNo() { return empNo; }
    public void setEmpNo(String empNo) { this.empNo = empNo; }

    public String getIdno() { return idno; }
    public void setIdno(String idno) { this.idno = idno; }

    public Integer getEmploymentStatus() { return employmentStatus;}
    public void setEmploymentStatus(Integer employmentStatus) { this.employmentStatus = employmentStatus;}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("employeeId", getEmployeeId())
            .append("gunLicenceNum", getGunLicenceNum())
            .append("gunLicenceValidity", getGunLicenceValidity())
            .append("photoUrl", getPhotoUrl())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("licenceStatus", getLicenceStatus())
            .append("departmentId", getDepartmentId())
            .append("remark", getRemark())
            .append("deleted", getDeleted())
            .toString();
    }
}
